<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>ProctorTicket.Utils</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="ProctorTicket-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/proctorticket">ProctorTicket</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="ProctorTicket-module.html">Package&nbsp;ProctorTicket</a> ::
        Module&nbsp;Utils
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="ProctorTicket.Utils-module.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module Utils</h1><span class="codelink"><a href="ProctorTicket.Utils-pysrc.html">source&nbsp;code</a></span><br /><br />
ProctorTicket.Utils Contains some of the functions and classes used by
  both halves of the ProctorTicket system, including some functions missing
  from the Python standard library, like popd and pushd, and a filtered 
  list.<br /><br />

<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Classes</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Classes"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="ProctorTicket.Utils.FilteredList-class.html" class="summary-name">FilteredList</a><br />
      FilteredList(&lt;filterFunction: lambda x: True&gt;, *args, 
        **kwargs): A list which can only have items appended to it which 
        pass the 'filterFunction' callable attribute, like an incremental 
        'filter' function.
    </td>
  </tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Functions</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Functions"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="pushd"></a><span class="summary-sig-name">pushd</span>(<span class="summary-sig-arg">path</span>)</span><br />
      pushd(&lt;string: path&gt;): Push current directory onto directory
      stack, chdir to specified path.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#pushd">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="popd"></a><span class="summary-sig-name">popd</span>()</span><br />
      popd(): Remove current directory from stack, chdir back to last 
      visited path.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#popd">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="dirs"></a><span class="summary-sig-name">dirs</span>()</span><br />
      dirs(): Returns concatenated string of directory stack.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#dirs">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="dictFilter"></a><span class="summary-sig-name">dictFilter</span>(<span class="summary-sig-arg">function</span>,
        <span class="summary-sig-arg">dictIn</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#dictFilter">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="dictEmptiness"></a><span class="summary-sig-name">dictEmptiness</span>(<span class="summary-sig-arg">key</span>,
        <span class="summary-sig-arg">value</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#dictEmptiness">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="ProctorTicket.Utils-module.html#DefaultSummariser" class="summary-sig-name">DefaultSummariser</a>(<span class="summary-sig-arg">resultslist</span>,
        <span class="summary-sig-arg">**kwargs</span>)</span><br />
      DefaultSummariser(&lt;list: proctorlib.result.TestResult&gt;, 
      **kwargs): The default summarising action takes a list of results and
      returns the test class to which those results belong.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#DefaultSummariser">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="ResultEquality"></a><span class="summary-sig-name">ResultEquality</span>(<span class="summary-sig-arg">result1</span>,
        <span class="summary-sig-arg">result2</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#ResultEquality">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="ProctorTicket.Utils-module.html#UniquifyResults" class="summary-sig-name">UniquifyResults</a>(<span class="summary-sig-arg">listin</span>)</span><br />
      UniquifyResults(&lt;list: proctorlib.result.TestResult&gt;): 
      Returns a list of results from the results list where duplicates have
      been removed.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#UniquifyResults">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="GetFuncName"></a><span class="summary-sig-name">GetFuncName</span>(<span class="summary-sig-arg">result</span>)</span><br />
      GetFuncName(&lt;proctorlib.result.TestResult&gt;): Returns the 
      specific function name of a test result.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#GetFuncName">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="GetTestClass"></a><span class="summary-sig-name">GetTestClass</span>(<span class="summary-sig-arg">result</span>)</span><br />
      GetTestClass(&lt;proctorlib.result.TestResult&gt;): Takes a 
      TestResult and returns the test class it belongs to, by removing the 
      last name from the dotted module name held in its 'name' 
      attribute.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#GetTestClass">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="ProctorTicket.Utils-module.html#DefaultDescriptor" class="summary-sig-name">DefaultDescriptor</a>(<span class="summary-sig-arg">results</span>)</span><br />
      DefaultDescriptor(&lt;list: proctorlib.result.TestResult&gt;): 
      Takes a list of results for use in a ticket and generate a 
      description which contains the output for each test in the list, in 
      Trac wiki markup.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#DefaultDescriptor">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="ProctorTicket.Utils-module.html#Results2TicketDict" class="summary-sig-name">Results2TicketDict</a>(<span class="summary-sig-arg">results</span>,
        <span class="summary-sig-arg">summariser</span>=<span class="summary-sig-default">&lt;function DefaultSummariser at 0x8396304&gt;</span>,
        <span class="summary-sig-arg">descriptor</span>=<span class="summary-sig-default">&lt;function DefaultDescriptor at 0x839641c&gt;</span>,
        <span class="summary-sig-arg">**kwargs</span>)</span><br />
      Results2TicketDict(&lt;proctorlib.result.TestResult&gt;, 
      &lt;summariser: DefaultSummariser&gt;, &lt;descriptor: 
      DefaultDescriptor&gt;, **kwargs): Takes a list of TestResult objects,
      and some keyword arguments, and returns a dictionary containing the 
      valid field names for the Trac ticket table.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#Results2TicketDict">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Variables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="_dirstack"></a><span class="summary-name">_dirstack</span> = <code title="[u'/home/zvoase/Projects/google/proctorticket/doc']"><code class="variable-group">[</code><code class="variable-quote">u'</code><code class="variable-string">/home/zvoase/Projects/google/proctorticket/doc</code><code class="variable-quote">'</code><code class="variable-group">]</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="ProctorTicket.Utils-module.html#_RESULT_DICT_DEFAULTS" class="summary-name">_RESULT_DICT_DEFAULTS</a> = <code title="{'component': 'general',
 'priority': 'normal',
 'status': 'new',
 'type': 'defect'}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">component</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">general</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">priority</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Function Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-FunctionDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="DefaultSummariser"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">DefaultSummariser</span>(<span class="sig-arg">resultslist</span>,
        <span class="sig-arg">**kwargs</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#DefaultSummariser">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  DefaultSummariser(&lt;list: proctorlib.result.TestResult&gt;, 
  **kwargs): The default summarising action takes a list of results and 
  returns the test class to which those results belong. The results should 
  already have been grouped accordingly by their test class, so this 
  function will use the test class of the first item of the list, appended 
  by '(proctor)', which should be unique enough for the summary field to be
  distinctive. Example: 'proctorlib.tests.ExampleTestCase (proctor)'
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="UniquifyResults"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">UniquifyResults</span>(<span class="sig-arg">listin</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#UniquifyResults">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  UniquifyResults(&lt;list: proctorlib.result.TestResult&gt;): Returns a
  list of results from the results list where duplicates have been removed.
  This is done by testing for equality between the output, status and test 
  class of the tests, which is handled by the ResultEquality function, and 
  deleting one if they are equal.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="DefaultDescriptor"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">DefaultDescriptor</span>(<span class="sig-arg">results</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#DefaultDescriptor">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  DefaultDescriptor(&lt;list: proctorlib.result.TestResult&gt;): Takes a
  list of results for use in a ticket and generate a description which 
  contains the output for each test in the list, in Trac wiki markup. They 
  are separated by a line of 20 hyphen ('-') characters, and so can be 
  split up using str.split.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="Results2TicketDict"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">Results2TicketDict</span>(<span class="sig-arg">results</span>,
        <span class="sig-arg">summariser</span>=<span class="sig-default">&lt;function DefaultSummariser at 0x8396304&gt;</span>,
        <span class="sig-arg">descriptor</span>=<span class="sig-default">&lt;function DefaultDescriptor at 0x839641c&gt;</span>,
        <span class="sig-arg">**kwargs</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="ProctorTicket.Utils-pysrc.html#Results2TicketDict">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  Results2TicketDict(&lt;proctorlib.result.TestResult&gt;, 
  &lt;summariser: DefaultSummariser&gt;, &lt;descriptor: 
  DefaultDescriptor&gt;, **kwargs): Takes a list of TestResult objects, and
  some keyword arguments, and returns a dictionary containing the valid 
  field names for the Trac ticket table. The 'summariser' keyword argument 
  specifies a function which produces a string to be used as the unique 
  ticket summary. This will receive the TestResult list as the only 
  argument. The 'descriptor' keyword receives the list of results also and 
  is responsible for the generation of the description of the ticket in 
  Trac. By specifying extra keyword arguments, you can change the values of
  the ticket fields. Extra keywords must be valid according to the field 
  list held in the list ProctorTicket.Trac._TICKET_FIELDS.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Variables Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-VariablesDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="_RESULT_DICT_DEFAULTS"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">_RESULT_DICT_DEFAULTS</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">component</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">general</code><code class="variable-quote">'</code><code class="variable-op">,</code>
 <code class="variable-quote">'</code><code class="variable-string">priority</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">normal</code><code class="variable-quote">'</code><code class="variable-op">,</code>
 <code class="variable-quote">'</code><code class="variable-string">status</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">new</code><code class="variable-quote">'</code><code class="variable-op">,</code>
 <code class="variable-quote">'</code><code class="variable-string">type</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">defect</code><code class="variable-quote">'</code><code class="variable-group">}</code>
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="ProctorTicket-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/proctorticket">ProctorTicket</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0beta1 on Sat Jan 19 19:26:41 2008
    </td>
    <td align="right" class="footer">
      <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie()
  // -->
</script>
  
</body>
</html>
